The first value sent to a SerSource appears to be skipped when playing out (AutoTuner example project)

Tech Note: TN0155
Product: RPvdsEx
Version: All
Date Added: 2004-10-12

Issue

The first value sent to a SerSource appears to be skipped when playing out. This is most often seen when individual values are being read from a SourceFile to the SerSource.

Solution

When using the SerSource the first value loaded to the SerSource buffer plays out at index 0. When the enable line (IndxEnab) goes high with the first trigger the index is incremented and the next value is sent to the SerSource signal output line. So, at index 1 the second value is played out.

In the figure below, a simple SourceFile to SerSource circuit is shown along with the actual SerSource values (on left) and the values output from the SerSource after each trigger (on right).

To avoid this problem, add a Latch at the output of the SerSource and trigger it with the same enable line used for the SerSource (as pictured below). This will latch the first value when the trigger line goes high for the first time, and each subsequent value will be latched as the triggers occur.

Important Note to OpenEx Users!

This issue can be seen in the OpenEx AutoTuner example project. Make the modifications described here to ensure that epoch events recorded match the values played out.